package io.renren.common.gvy;

import groovy.lang.Binding;
import groovy.util.GroovyScriptEngine;
import groovy.util.ResourceException;
import groovy.util.ScriptException;

import java.io.IOException;

public class JavaCallGroovyDemo02 {
    public static void main(String[] args) {
        // 从文件系统或 classpath 加载脚本
        GroovyScriptEngine engine = null; // 脚本目录
        try {
            // 创建Groovy脚本引擎，指定脚本搜索路径
            GroovyScriptEngine gse = new GroovyScriptEngine("renren-admin/src/main/resources/groovy-scripts/");

            // 准备要传递给脚本的参数

            groovy.lang.Binding binding = new groovy.lang.Binding();
            binding.setVariable("numbers", new int[]{1, 2, 3, 4, 5});

            // 执行脚本并获取结果
            Object result = gse.run("groovy_script_02.groovy", binding);

            // 输出结果
            System.out.println("数组元素的和为: " + result);
        } catch (IOException e) {
            throw new RuntimeException(e);
        } catch (ScriptException e) {
            throw new RuntimeException(e);
        } catch (ResourceException e) {
            throw new RuntimeException(e);
        }

    }
}
